package com.wpen.unit.infra.mybatis.system.po;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.sql.Timestamp;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * RolePo.
 * 
 * @author Wang Peng(Auto Generator)
 * @date 2023-03-19
 * @version V5.0
 */
@Setter
@Getter
@ToString
@TableName("SYS_ROLE")
public class RolePo implements Cloneable, Serializable {
    private static final long serialVersionUID = -161123581321345589L;
    /* 主键 [19,0] Not NULL */
    @TableId
    private Long id;
    /* 部门编号 [16,0] Not NULL */
    private String deptCode;
    /* 角色编号 [16,0] Not NULL */
    private String roleId;
    /* 角色名称 [64,0] Not NULL */
    private String roleName;
    /* 角色描述 [256,0] */
    private String roleDesc;
    /* 默认角色 [1,0] Not NULL */
    private String allDefault;
    /* 可维护标识 [1,0] Not NULL */
    private String editLevel;
    /* 版本号 [10,0] */
    private Integer version;
    /* 时间戳 [19,0] Not NULL */
    private Timestamp updateTime;

    public RolePo() {
        super();
    }

    /** 浅克隆 */
    @Override
    public RolePo clone() {
        RolePo cloneRolePo = null;
        try {
            cloneRolePo = (RolePo) super.clone();
        } catch (CloneNotSupportedException e) {
            throw new RuntimeException(e);
        }
        return cloneRolePo;
    }

    /**
     * RoleColumns.
     * 
     * @author Wang Peng(Auto Generator)
     * @date 2023-03-19
     * @version V5.0
     */
    public enum RoleColumns {
        /** 主键**/
        ID,
        /** 部门编号**/
        DEPT_CODE,
        /** 角色编号**/
        ROLE_ID,
        /** 角色名称**/
        ROLE_NAME,
        /** 角色描述**/
        ROLE_DESC,
        /** 默认角色**/
        ALL_DEFAULT,
        /** 可维护标识**/
        EDIT_LEVEL,
        /** 版本号**/
        VERSION,
        /** 时间戳**/
        UPDATE_TIME;
    }
}